Skip to main content

Creating your first Django App

Press Ctrl+C to stop any running webserver.

In the terminal enter the command below to create a django app named game_ranks.

python manage.py startapp game_ranks

This will create a folder _game_ranks with some files for the app.

We will use this in this example to make a django based website about game rankings.

Below you can see the files that have been created.

The five main areas are listed below

  • views.py
  • models.py
  • apps.py
  • admin.py
  • migration

Next we will outline the purpose of each of these sections

views.py

This contains the functions that are used to define the pages in your web app

models.py

This contains the classes that define your data for the web app.

apps.py

This is for the configuration of the application

admin.py

This is used for creating an administration interface.

migration

This is used to manage different database versions.

Creating your first page

Modify views.py in the project folder to display some html.

from django.http import HttpResponse
from django.shortcuts import render

# Create your views here.
def home(request):
return HttpResponse("<h1>Game Ranks</h1>")

Now we need to let django know what urls will be used for the home function we have just written.

Create a new file called urls.py in the project folder game_ranks.

This file is used to map out the patterns between the view functions and the urls for the site.

Note on the second line game_ranks is the name of the project folder.

We have created a path to the root of the website. This is done on line 6. This will run the views.home function.

from django.urls import path
from game_ranks import views

urlpatterns = [
path("", views.home, name="home"),
]

Now we need to modify the django server configuration. This is in the example_web_project folder. It also has a urls.py file. Open this.

Modify the code so that it includes the lines:

  • from django.urls import include, path
  • part("", include("game_ranks.urls")),

as shown below:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
path("", include("game_ranks.urls")),
path('admin/', admin.site.urls),
]

This will include the include and path functions and allow us to link to the game_ranks urls.py file.

Run the server with the following command and then view it in the browser.

python manage.py runserver

You have now created your first webpage in django.

We will now add a configuration so we don't have to type the runserver command everytime we want to run the web app.

Go to Run > Add Configuration

Choose Django

Save the file.

Now when you Press F5 or Run > Start Debugging the webserver will run.